package com.hd.sup.modules.vehicle.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hd.sup.core.annotation.DataScope;
import com.hd.sup.modules.vehicle.model.Vehicle;
import com.hd.sup.modules.vehicle.model.VehicleOnOff;
import com.hd.sup.modules.vehicle.model.VehicleStatus;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 车辆实时状态表 | 内存表 服务类
 * </p>
 *
 * @author chentl123
 * @since 2020-12-28
 */
public interface IVehicleStatusService extends IService<VehicleStatus> {

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 离线车辆列表
     * @date 2021/2/24 11:10 上午
     * @params [page, vehicleOnOff]
     */
    @DataScope
    List<Map<String, Object>> getOffLineVehicleList(Page<Map<String, Object>> page, VehicleOnOff vehicleOnOff);

    /**
     * @return void
     * @author chentl
     * @description 同步数据
     * @date 2021/1/5 7:39 下午
     * @params [vehicleStatus]
     */
    void syncData(VehicleStatus vehicleStatus);

    /**
     * @return void
     * @author chentl
     * @description 刷新车辆状态信息
     * @date 2021/1/16 10:24 上午
     * @params [vehicleStatus]
     */
    void refreshVehicleStatus(VehicleStatus vehicleStatus);
}
